C++ ব্যবহার করে একটি সহজ ফাইল এনক্রিপশন এবং ডিক্রিপশন টুল তৈরি করা যায়, যা ফাইলের ডেটাকে একটি নির্দিষ্ট কী (key) এর মাধ্যমে এনক্রিপ্ট এবং ডিক্রিপ্ট করতে সক্ষম। এই উদাহরণে, XOR এনক্রিপশন পদ্ধতি ব্যবহার করা হবে, যা প্রতিটি বাইটের সাথে একটি কী XOR অপারেশন প্রয়োগ করে ডেটাকে এনক্রিপ্ট এবং ডিক্রিপ্ট করে।
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
// এনক্রিপশন এবং ডিক্রিপশন ফাংশন
void encryptDecrypt(const string &inputFile, const string &outputFile, char key) {
ifstream inFile(inputFile, ios::binary); // ইনপুট ফাইল ওপেন করা (বাইনারি মোডে)
ofstream outFile(outputFile, ios::binary); // আউটপুট ফাইল ওপেন করা (বাইনারি মোডে)
if (!inFile || !outFile) {
cout << "Error: Could not open input or output file." << endl;
return;
}
char ch;
while (inFile.get(ch)) { // প্রতিটি চরিত্র পড়া
char encryptedChar = ch ^ key; // XOR এনক্রিপশন/ডিক্রিপশন
outFile.put(encryptedChar); // এনক্রিপ্টেড/ডিক্রিপ্টেড ডেটা লেখা
}
inFile.close();
outFile.close();
cout << "Operation completed successfully. Output file: " << outputFile << endl;
}
int main() {
string inputFile, outputFile;
char key;
char choice;
cout << "File Encryption and Decryption Tool" << endl;
cout << "Choose operation:" << endl;
cout << "1. Encrypt a file" << endl;
cout << "2. Decrypt a file" << endl;
cout << "Enter choice (1 or 2): ";
cin >> choice;
cout << "Enter the input file name: ";
cin >> inputFile;
cout << "Enter the output file name: ";
cin >> outputFile;
cout << "Enter a single-character key for encryption/decryption: ";
cin >> key;
if (choice == '1') {
encryptDecrypt(inputFile, outputFile, key); // এনক্রিপশন অপারেশন
} else if (choice == '2') {
encryptDecrypt(inputFile, outputFile, key); // ডিক্রিপশন অপারেশন
} else {
cout << "Invalid choice!" << endl;
}
return 0;
}
ফাংশন encryptDecrypt
:
key
এর সাথে XOR করে এনক্রিপ্ট বা ডিক্রিপ্ট করা হয়।মেইন ফাংশন (main):
encryptDecrypt
ফাংশনে এই ইনপুট গুলো পাঠিয়ে এনক্রিপশন বা ডিক্রিপশন কার্যক্রম সম্পন্ন করা হয়।File Encryption and Decryption Tool
Choose operation:
1. Encrypt a file
2. Decrypt a file
Enter choice (1 or 2): 1
Enter the input file name: plaintext.txt
Enter the output file name: encrypted.txt
Enter a single-character key for encryption/decryption: K
Operation completed successfully. Output file: encrypted.txt
plaintext.txt
ফাইল থেকে encrypted.txt
ফাইল তৈরি করা হয়।encrypted.txt
ফাইলকে plaintext.txt
আউটপুট ফাইল হিসেবে তৈরি করা যায়।char
টাইপ কী ব্যবহার করা হয়েছে, যা এনক্রিপ্ট ও ডিক্রিপ্ট উভয় কাজের জন্য যথেষ্ট।char
এর পরিবর্তে একটি দীর্ঘ এবং শক্তিশালী কী ব্যবহারের মাধ্যমে এনক্রিপশন আরও শক্তিশালী করা যেতে পারে।এই প্রোগ্রামটি একটি বেসিক এনক্রিপশন ও ডিক্রিপশন টুল, যা সহজেই ব্যবহার করা যায় এবং ডেটা এনক্রিপ্ট এবং ডিক্রিপ্ট করার জন্য কার্যকর।
common.read_more